#include <boost/python.hpp>
#include <boost/python/suite/indexing/map_indexing_suite.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
#include "DataStoreFace.h"

BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(PrepareDataByInstrument, PrepareData, 1, 5)
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(PrepareDataByID, PrepareData, 1,5)

BOOST_PYTHON_MODULE(DataStoreLib)
{
	using namespace boost::python;

	class_<DataStoreFace, boost::shared_ptr<DataStoreFace>, boost::noncopyable >("DataStoreFace", no_init)
		.def("GetRegInstrument", &DataStoreFace::GetRegInstrument)
		.def("PrepareData", 
		static_cast<int(DataStoreFace::*)(InstrumentDataSPtr , int , int , int , bool )>(&DataStoreFace::PrepareData),
		PrepareDataByInstrument())
		.def("PrepareData", static_cast<InstrumentDataSPtr(DataStoreFace::*)(const std::string&, int, int, int, bool)>(&DataStoreFace::PrepareData),
		PrepareDataByID())
		;
}